﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SuperMap.Mapping;
using SuperMap.UI;
using SuperMap.Data;

namespace 核密度分析
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        OpenFileDialog openFileDialog1 = new OpenFileDialog();//打开文件
        Workspace workspace1 = new Workspace();//新建工作空间

        private void tsmOpenFiles_Click(object sender, EventArgs e)
        {
            //设置公用打开对话框
            openFileDialog1.Filter = "SuperMap 工作空间文件(*.smwu)|*.smwu";
            //判断打开的结果，如果打开就执行下列操作
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //避免连续打开工作空间导致程序异常     
                mapControl1.Map.Close();//先把原来的地图清空
                workspace1.Close();//关闭原来的工作空间
                mapControl1.Map.Refresh();//刷新地图控件
                //定义打开工作空间文件名
                String fileName = openFileDialog1.FileName;
                //打开工作空间文件
                WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(fileName);
                //打开工作空间
                workspace1.Open(connectionInfo);
                //建立工作空间和工作空间树之间的关系
                workspaceTree1.Workspace= workspace1;
                //建立MapControl与Workspace的连接
                mapControl1.Map.Workspace = workspace1;
                
                //判断工作空间中是否有地图
                if (workspace1.Maps.Count == 0)
                {
                    MessageBox.Show("当前工作空间中不存在地图!");
                    return;
                }
                //通过名称打开工作空间中的地图
                //mapControl1.Map.Open("世界地图_Day");
                //刷新地图窗口
                mapControl1.Map.Refresh();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            workspaceTree1.Workspace = new Workspace();
        }

    }
}
